(define-module (sudoku square))

(use-modules (srfi srfi-1))

(define-public (make-square)
  (build-square 0 (iota 9 1)))

(define-public (build-square v candidates)
  (list v candidates))

(define-public (get-value square)
  (car square))

(define-public (set-value square v)
  (build-square
    v
    (get-candidates square)))

(define-public (get-candidates square)
  (cadr square))

(define-public (set-candidates square l)
  (build-square
    (get-value square)
    l))
